Contents
This is the help file for CFinger v1.1.

What's New in 1.1
The following lists what is new in CFinger 1.1.  For details, see the other parts of the help file.
Finger daemon
Echo daemon
Text search of output
Log file for the two daemons
Ability to force termination of any active connection(s)
Registration screen
It times out properly if it can't connect to another computer
And most importantly, cool new 3D look  :-)

Introduction and Installation
Introduction
CFinger is an application which is used to "finger" another computer or a user on another computer, to retrieve information about the computer or the user.  Anyone familiar with the Unix "finger" command will already know how to use this application.

Please note that this is shareware.  See the Registration topic for details.

Features
Popup stores frequently fingered sites, for quick access.
Access to any Whois database.
Echo support.
Finger daemon and echo daemon (so you can be fingered and pinged).
Ability to force termination of active connection(s).
Accepts command line arguments.
Remembers last host that was fingered when application is exited.
Save (and optionally append) output to text file.
Double-click on username to finger a person.
Copy and Select All.
Ability to search output for a text string.
Font selection dialog.
Truly Windows based, unlike other Finger programs I've found.
User interface is designed to minimize effort required to finger someone, and to help people who want to use keyboards (mice are evil).  Should also help people trying to configure CFinger for voice control.
Winsock 1.1 compliant.
Registration screen (well, its a feature if you register)
It actually works!  (Hey, I wish I could say the same for half the finger programs out there that I've found.)

Requirements
PC Compatible running Windows 3.1 or better.
"Internet" connection, or connection to any TCP/IP network.  This is usually accomplished at home by a SLIP or a PPP connection.  At work or at a university, it is usually accomplished by an Ethernet connection.  The details of getting a network connection are beyond the scope of this help file.
TCP/IP stack that is Winsock 1.1 compliant.  This includes Trumpet Winsock (shareware), FTP Software's TCP/IP, as well as many others.
"VBRUN300.DLL" -- this can be downloaded from most BBSs and anonymous FTP sites.  It is not included due to size, and most sites forbid uploaders from including it in every application that gets uploaded.

Installation
1Place cfinger.exe and cfinger.hlp files in a directory of your choice.
2Create an icon in the Program Manager (or whatever shell you use) to the cfinger.exe file.
3Move *.vbx, *.lic, and *.dll files to your windows\system directory.  Its possible that you may already have the *.vbx or *.dll files in your windows\system directory, in which case you will only want to replace the files if you have older versions of the files.  If you already have an ipport.lic file or ipdaemon.lic file in your windows\system directory, there's no need to replace your copy with my copy.

That should be all.  If you have any trouble, be sure that vbrun300.dll is in your windows\system directory, and be sure that your Winsock 1.1 compliant TCP/IP stack is installed and running.  If you still have trouble, then you may have some kind of DLL conflict (good luck!), or perhaps your TCP/IP stack is not really Winsock 1.1 compliant (just because they claim it is doesn't mean they implemented it correctly).

IF YOU USE MICROSOFT TCP/IP:  People have reported problems using CFinger (and a whole lot of other things) with Microsoft's TCP/IP-32 3.11a.  No, there's nothing I can do about it, it is Microsoft's fault.  Fortunately, I am told that CFinger works with TCP/IP-32 3.11b Beta, so give that a try.
Client Usage
To finger all users on a computer
Type "@" followed by the computer name.  For example:
	@world.std.com
Then, either press the "Finger" button, or press the return key.

To finger a single user on a computer
Type the username, followed by "@", followed by the computer name.
For example:
	root@world.std.com
Then, either press the "Finger" button, or press the return key.

Shortcut to fingering a single user
If you have just fingered all users on a computer, you should have a list of all the users on that computer in the output area.  You can instantly finger any one of those users just by double-clicking on the username of that user in the output area.

After you finger by double-clicking a user, you can switch back to the previous output area (the one that listed all the users) by pressing CTRL-L or by selecting the "See Last Cached Finger" menu item under the edit menu.  This feature is here as a convenience so you can get the userlist back without having to re-finger a computer.

To finger verbosely all users on a computer
Some computers will give detailed information about all users logged in, rather than a one-line description of each user.  To get verbose information about all users, specify "/W" as the username.  If the output is a message such as "no such user", then that computer does not support the verbose "/W" option.

NOTE: The standard text window (which is what I use) only supports 64K of text, before running out of space.  On some hosts, /W produces a HUGE listing, long enough to exceed 64K of text.  If this happens, the text is truncated (with a warning).  Perhaps I'll fix this in a later version, if enough people send in their shareware fee (hint hint).

Saving commonly fingered sites
After you enter what or who you want to finger, press the "Add" button.  It will be permanently added to the popup.  You can then finger by choosing it from the popup, and pressing the "Finger" button.  Later, you can delete an entry from the popup by choosing the entry, then pressing the "Delete" button.

The items in the popup are saved in the cfinger.ini file, in case you want to edit that file manually for whatever reason.  Please note: cfinger.ini is not written to until you exit CFinger, so if your computer crashes before you exit CFinger, you will lose the configuration information.

Handling errors
Error messages are displayed in the text window, accompanied by a beep.  I admit, some errors are a bit cryptic with this version of Finger.  But, as a general rule, almost any error message either means the computer name does not exist or is not reachable at the moment.  Or, it could mean you're trying to crash the program by rapidly clicking the "Finger" button while an operation is in progress.  :-)

Terminating connections
Things are never perfect in the world of networking.  Sometimes, you will connect to a computer when you try to finger it, but then nothing will come back.  It will just sit there, connected, appearing to do nothing.  It will eventually time-out, but if you so desire, you can force a disconnect using the "Kill Active Connection(s)" menu item under the "Edit" menu.  Whatever text had been received will then be displayed in the output area.

"Kill Active Connection(s)" will also kill any active incoming finger daemon or echo daemon connections.  See the "Daemon Usage" topic for more information about these features.

Changing fonts
The font information of the text in the text area can be modified.  Choose "Font" from the "Options" menu.  Then, have at it.

Copying text
Using the mouse, select the text you want to copy.  Then, choose "Copy" from the "Edit" menu.  Or, press CTRL-C.  You can then paste into another application.

You can quickly select all text by choosing "Select All" in the "Edit" menu.

Saving text
You can save the entire text window directly to a file.  To do so, select "Save As" or "Append To" from the "File" menu.  Then, choose a file name.  "Save As" overwrites the file, while "Append To" appends to the end of the file.

Searching for text
Under the "Edit" menu is a "Find" menu item.  Choose this, and you can search for text in the output area starting at the current cursor location.  Case sensitive and word-match searches are also supported.  If you wish to force the search to begin at the top of the text, press the "Start Search at Top" checkbox.

Specifying a host on the command line
For frequently fingered hosts, you may want to create an icon especially for fingering that host.  In the icon's command to run cfinger.exe, just specify what you want to finger as an argument to cfinger.exe.  Then, double-click the icon whenever you want to finger that host.

Accessing the Whois database
The Whois database is used to look up computer names, people, etc. who happen to be registered in the database.  This feature implements the Unix "whois" command.

To use, first be sure that you have selected the proper whois host; choose "Whois" from the "Options" menu, and enter a host name.  Most people use nic.ddn.mil.  There is also rc.internic.net.  See the enclosed file whois.txt for a more detailed list of hosts.

Use the "Add" and "Delete" buttons in the "Whois Options" dialog box to store frequently used Whois hosts.

Next, in the popup box in the main window, enter what you want to search for, then press the "Whois" button.  You can get help by entering "?" and pressing the "Whois" button.  Please note that you cannot "Add" your whois searches to the popup menu, as this doesn't really make much sense.

Using Echo
As the name implies, echo is used to determine if another computer is "alive" (connected to the network), and also reports the round-trip time for a byte of data.

To use, enter a host name in the popup box, then press the "Echo" button.  Once a second, a "ping" will be done of that computer, reporting the round-trip packet time.  If no "Received" message appears, that means the computer is not "alive".  It could also mean the computer isn't running an echo daemon.

When entering the host name, you do not need to preceed it with "@"; that syntax is only necessary for fingering computers.  Although, you can leave the "@" there if you want to, since it will be ignored.  You can also leave any username before "@"; it will be ignored.

Press the "Stop" button to stop pinging that computer.
Daemon Usage
CFinger 1.1 supports what is often referred to as "daemons".  This is a Unix term, which has been carried over to other computer systems.  In Unix, a daemon is a process (i.e. a program running in memory) running behind the scenes, silently responding to incoming connections over a TCP/IP network.  What each daemon does with the incoming connections depends on the function of the particular daemon.

CFinger implements two such Unix daemons; echo and finger.  The echo daemon just echoes back all data that it receives.  The finger daemon is usually much more interesting and useful; it returns information about a user on the computer system to the person who fingered that computer.

Since Windows memory and resources are much more precious than they usually are on Unix, it is beneficial to have the functionality of multiple daemons within one program that is running under Windows.  This is what CFinger does.

NOTE:  If you choose "Save", "Append", or "Fonts" while one or both daemons are turned on, the daemons will temporarily "pause" while the dialog is up.  This is because these dialogs are modal and don't allow processing of events (such as outgoing data) while they are up.

ANOTHER NOTE:  Don't run CFinger twice at the same time if you have a daemon option turned on; it won't work, since only one application can access a specific TCP/IP port at a time.

Echo Daemon
By default, when you first install CFinger, the echo daemon will be disabled.  To activate the echo daemon, choose the "Daemons" menu item under the options menu.  Click on the "Echo Daemon" checkbox so that it is checked.  Now, as long as CFinger is running, it will respond to incoming connections to the port that services the echo daemon feature.  You can minimize CFinger so that it is still running but is out of your way.

You can disable this feature by unchecking that checkbox.  CFinger will no longer respond to echo connections.  Note that you may need to exit then run CFinger again to make this change take effect.

Finger Daemon
By default, when you first install CFinger, the finger daemon will be disabled.  To activate the finger daemon, do it using the same dialog you use to activate the echo daemon.  After you click on the "Finger Daemon" checkbox, choose a file name whose text will be displayed to someone fingering your computer.  You can create this file with any text editor of your choice; be sure you do not save the file as a word processor document, or the person who fingers your computer will receive a screen full of garbage characters. Once you create the file, you can use the "Browse" button to find the file for you and enter its name into the file name text box.

You can put whatever text you like in the file.   It is common to put your name and other miscellaneous information in the file, but you can put anything, even "Go away, leave me alone" if you like.  But please, do not make the file unusually long (hundreds or thousands of lines), as this tends to annoy people trying to finger you.  Besides, CFinger prevents you from choosing a file more than 50000 bytes long anyway.

CFinger will respond the same way to a finger request, no matter what "user" on your computer is actually fingered.  For example, suppose your computer is named "mycomp.super.net".  Whether someone fingers "@mycomp.super.net", "joe@mycomp.super.net", or any other "user" at your computer, the response will be the same.  Since this is running on a PC, it is not likely that you have multiple users created on your computer like you would if you had a Unix workstation.  So, it won't matter for most people.  There is currently one exception to this: If a username of "cfinger" (lower case) is provided, CFinger will return the version information for CFinger to whoever fingered your computer.

(In a future version of CFinger, I may add the ability for someone to give commands to the finger daemon by giving commands in place of what normally would be a user name.)

Be sure to leave CFinger running, preferably minimized, so that it can respond to incoming connections.  If you exit CFinger, then obviously it can't respond to connections anymore.

You can disable this feature by unchecking that checkbox.  CFinger will no longer respond to finger connections.  Note that you may need to exit then run CFinger again to make this change take effect.

What about security?
Some people understandably get concerned at the thought of other people being able to connect to their computer. Fortunately, there is not much to worry about.  People cannot connect unless you on purposely turn on one of the daemons.  And even then, all the person can do with your computer is what the daemon allows it to do.  The echo daemon will only echo back characters (yippie, how boring), and the finger daemon will only give out the information you specify in the text file.

Log file
If you are curious about who connects to your computer, you can turn on logging of connections by checking the "Log" checkbox.  All connections will be logged to the file "cfinglog.txt" in the working directory.  You can view this file with any standard text editor.  Be advised that this file will grow endlessly unless you either turn off logging or delete the file occasionally.

Errors that happen when someone fingers you will also appear in this log file.  Note that these errors will not appear in popup dialogs when they happen.  The only daemon errors that will ever appear in popup dialogs are those that happen when you attempt to turn on a daemon.  The errors that are logged will cause CFinger to "beep" once for each error that gets logged, to alert you that stuff is getting put in the log file dealing with errors.  This probably isn't the best way of handling this, and I may change it in a future version.  (Send me mail if you actually want the daemon errors to appear in a popup dialog immediately as they happen.)
Registration
CFinger is shareware.  You can use it for an evaluation period of 30 days, and if you decide to keep it, you are required to send a mere $6 to me.  Contact me for site-license arrangements.  If you have already registered for version 1.0, you are still registered for version 1.1; send me email to get the license key.

Reasons for registering
You'll be guilt-free and will be able to sleep soundly at night.
Your support will encourage me to improve this application, and will also encourage me to write many other excellent applications that will be much more impressive than this simple finger application.
I'll be more quick to reply to your email if I see that you are registered.
You will automatically be registered for all upgrades, as long as the price of these new versions is still $6.  If I decide to raise the price on a future version, you'll only have to pay the difference.
You will be notified of upgrades by email (unless you tell me otherwise or don't have an email address).
The application's title will change so that it will no longer say "UNREGISTERED".  The registration screen will have your name in it, rather than "UNREGISTERED".  If you turn on the finger daemon and someone fingers you, the two lines telling others that you haven't registered will go away.

How to register
Send $6 to me, in check, money order, or possibly cash.  My address is:

	Charles Wells
	148 Old Colony Ave, #334
	Quincy, MA 02170

Be sure to give me your name, address, and e-mail address if you have one.  And, be sure to state what you are registering ("CFinger 1.1").

Distribution information
You are authorized to distribute this application, including to any BBS, anonymous FTP site, or shareware catalog, provided that you do not charge for the application or claim that it is yours, etc.  You can only charge for the service of copying or distributing this application, and the recipient is still required to pay the shareware fee.

Also, the distribution must not be modified in any way!  It must include the help file, the readme file, the ipport.vbx file, the cfinger.ini file, all other *.vbx files, all other *.dll files, and the ipport.lic file.  If you do modify anything, it is illegal for you to then distribute what you modified without first getting my permission.

Semi-standard disclaimer
As usual, this software is distributed as-is, without warrantee of any kind.  If this software results in any harm, whether actual or imagined, or if it results in loss of  property, job, limb, or life (or anything else you could lose).... well, its not my fault!

Also, I am not creating and distributing this software with the help of any company, whether the company is the one I work for or not.  Any dispute arising from this software has nothing to do with anyone else except me.  The software is being provided entirely by me, and I do not own a sole proprietorship company either.  I am not running a business or working on a job; this endeavor is a HOBBY.  Out of the generosity of my own heart, I have decided to distribute this software so that others may benefit from it.  I'll be much surprised if I can even recover my software expenses through the shareware fees, as I expect to take a loss.

Thanks!
And remember, shareware can happen only because of people like you who send in your shareware fee.  (And I really mean this.  If more people don't send in their shareware fees for this version than they did in 1.0, this will be the last version.)

I can be reached by email, at:
	chuck@tiac.net